package com.superjson.showpro.shared.enums;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * Created By zby on 20:42 2019/5/28
 * 评论类型
 */
public enum CommentTypeEnum implements TitleEnum {


    COMMENT_TYPE_COMMENT("评论"),
    COMMENT_TYPE_SUGGEST("改善"),
    COMMENT_TYPE_EXCEPTION("错误");


    /**
     * 展示中文表述
     */
    @JSONField
    private String value;


    CommentTypeEnum(String value) {
        this.value = value;
    }

    /**
     * 根据枚举名称获取枚举
     *
     * @param enumName 枚举名称
     * @return AuctionTypeEnum        对应的枚举值
     */
    public static CommentTypeEnum getByEnumName(final String enumName) {
        for (CommentTypeEnum element : values()) {
            if (element.name().equals(enumName)) {
                return element;
            }
        }
        return null;
    }

    /**
     * 获取枚举名称和title所有的映射
     *
     * @return
     */
    public static Map<String, String> getKeyValues() {

        Map<String, String> keyValues = new LinkedHashMap<>();

        for (CommentTypeEnum element : values()) {
            keyValues.put(element.name(), element.value);
        }

        return keyValues;
    }

    @Override
    public String getValue() {
        return this.value;
    }
}
